<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!-- Introduction -->

<HTML>

<HEAD>

<TITLE>Introduction</TITLE>

</HEAD>

<BODY BACKGROUND="spiral.gif" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#990099" ALINK="#FF0000">

<TABLE WIDTH="98%">
<TR><TD WIDTH=60 VALIGN=BOTTOM NOWRAP>
<IMG SRC="transp.gif" ALT="" WIDTH=60 HEIGHT=20>
</TD><TD>

<!-- Ab hier Seitentext: -->

<BIG>
<BR>

<P>
<STRONG><U>I. Introduction</U></STRONG>
</P>

<P>
<NOBR>ASEM-51</NOBR> is a two-pass macro assembler for the Intel
<NOBR>MCS-51</NOBR> family of microcontrollers.<BR>
It is running on the PC under <NOBR>MS-DOS</NOBR>, Windows and Linux.<BR>
The DOS real-mode assembler ASEM.EXE requires only 256 kB of free DOS memory
and <NOBR>MS-DOS 3.0</NOBR> (or higher).<BR>
The new protected-mode assembler ASEMX.EXE requires a 286 CPU (or better),
and at least 512 kB of free XMS memory.<BR>
The new Win32 console-mode assembler ASEMW.EXE requires a 386 CPU (or better)
and <NOBR>Windows 9x</NOBR>, NT, 2000 or XP.<BR>
The new Linux assembler asem requires a 386-based Linux system.<BR>
The new HTML documentation set requires a 90 MHz Pentium (or better) and a
web browser.
</P>

<P>
The <NOBR>ASEM-51</NOBR> assembly language is a rich subset of the Intel standard
that guarantees maximum compatibility with existing 8051 assembler sources.
<NOBR>ASEM-51</NOBR> can generate two sorts of object files: <NOBR>Intel-HEX</NOBR> format,
which is directly accepted by most EPROM programmers, and absolute <NOBR>OMF-51</NOBR>
format, which is required for many simulators, emulators and target debuggers.
Thus <NOBR>ASEM-51</NOBR> is suitable for small and medium <NOBR>MCS-51</NOBR>-based
microcontroller projects in hobby, education and business. However,
<NOBR>ASEM-51</NOBR> has been designed to process also very large programs!
Its most important features are:
</P>

<P>
<UL TYPE=DISC>
<LI>fast, compact, reliable, easy to use, and well-documented</LI>
<LI>easy installation, almost no configuration required</LI>
<LI>command line operation, batch and networking capability</LI>
<LI>fully year 2000 compliant</LI>
<LI>DOS (RM and PM), Win32 and Linux binaries available</LI>
<LI>Intel-compatible syntax</LI>
<LI>five location counters, one for each of the <NOBR>MCS-51</NOBR> address spaces</LI>
<LI>assembly-time evaluation of arithmetic and logical expressions</LI>
<LI>segment type checking for instruction operands</LI>
<LI>automatic code optimization of generic jumps and calls</LI>
<LI>macro processing (that <STRONG>really</STRONG> works)</LI>
<LI>nested include file processing</LI>
<LI>nested conditional assembly</LI>
<LI>absolute <NOBR>OMF-51</NOBR> module output (with debug information)</LI>
<LI><NOBR>Intel-HEX</NOBR> file output</LI>
<LI>hex-to-binary conversion utility</LI>
<LI>built-in symbols for 8051 special function registers (can be disabled)</LI>
<LI>direct support of more than seventy 8051 derivatives</LI>
<LI>support of user-defined 8051 derivatives</LI>
<LI>special support of the Philips 83C75x family</LI>
<LI>8051 register bank support</LI>
<LI>detailed assembler listing with symbol table or cross reference</LI>
<LI>further fancy printing facilities &nbsp; <IMG SRC="smile.gif" ALT="(smile)" WIDTH=15 HEIGHT=15></LI>
<LI>documentation in ASCII and HTML format</LI>
<LI>bootstrap program for testing on the <NOBR>MCS-51</NOBR> target board</LI>
<LI>support for easy integration into the popular Borland IDE</LI>
<LI>limited update service by the <A HREF="mailto:w.w.heinz@web.de">author</A></LI>
</UL>
</P>

<P>
The <NOBR>ASEM-51</NOBR> software package has been developed with:
</P>

<P>
<BLOCKQUOTE>
Borland-Pascal mit Objekten 7.0 &copy; Borland International 1992<BR>
Delphi 2.0 Client/Server Suite &copy; Borland International 1996<BR>
FreePascal 1.0.6 &copy; Florian Kl&auml;mpfl 2002<BR>
</BLOCKQUOTE>
</P>

</BIG>

<!-- Seitentext Ende -->

<P>
<BR>
<BR>
<CENTER>
<TABLE WIDTH="70%">
<TR><TH><A HREF="contents.htm"><IMG SRC="home.gif" ALT="[contents]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="contents.htm"><IMG SRC="up.gif" ALT="[up]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="foreword.htm"><IMG SRC="back.gif" ALT="[back]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
    <TH><A HREF="getting.htm"><IMG SRC="next.gif" ALT="[next]" BORDER=0 WIDTH=32 HEIGHT=32></A></TH>
</TR>
</TABLE>
</CENTER>
</P>

</TD></TR>
</TABLE>

</BODY>

</HTML>
